XBMC est un media center libre1) développé à l'origine pour la Xbox. Il est depuis plusieurs années porté sous GNU/Linux, Windows et MacOS. Il est très complet, personnalisable avec de nombreux skins (thèmes d'apparence) et très abouti.
Cette application supporte entre autres :
XBMC utilise l'accélération graphique afin de fournir de jolis effets de transition et des meilleures performances.2) :) De plus, XBMC peut également être exécuté comme gestionnaire de Bureau !
Il suffit d'installer le paquet xbmc.
Ou en une ligne :
sudo add-apt-repository ppa:team-xbmc && sudo apt-get update && sudo apt-get -y install xbmc
Si vous possédez une carte_TV vous pouvez installer XBMC dans sa version PVR (Personal Video Recorder). Nous utiliserons pour cela les dépôts mis a disposition par http://www.pulse-eight.com/Pulse-Eight :
télécharger le script :
wget http://packages.pulse-eight.net/ubuntu/install-xbmc.sh
mettre le script en exécutable :
chmod +x install-xbmc.sh
exécuter le script :
./install-xbmc.sh
Vous devrez alors installer et configurer MythTV, TvHeadend ou VDR et activer l'addon correspondant dans XBMC.
Méthode automatique :
Méthode manuelle :
Comme vous le voyez il y a des centaines d'Add-ons à votre disposition, et cela ira en s'améliorant : Bonne découverte.
XBMC fait apparaître automatiquement le menu lire un disque à côté du menu Programme lorsqu'il détecte un DVD dans le lecteur. Si ça ne marche pas, vérifier les points suivants :
sudo restart udev

Projet : Interface console de jeu "ubuntu/linux"
Notez que la version 10 de xbmc support les greffons, et les gère facilement.
Pour utiliser une Wiimote avec xbmc, installez simplement les paquets xbmc et xbmc-eventclients-wiiremote, disponibles dans les dépôts du projets : cliquez ici.
Puis lancer le tout avec un :
xbmc-wiiremote & xbmc
Il ne vous reste plus qu'à associer la wiimote en pressant 1 et 2.
Il est possible que le contrôle par Wiimote ne fonctionne pas correctement (déconnexion intempestive, vitesse trop élevée, …) si vous utilisez une version 64bits de Ubuntu. Dans ce scénario vous devrez vous passer de l'installation par package et donc commencer par désinstaller le paquet xbmc-eventclients-wiiremote.
Vous devez d'abord installer quelques dépendances :
apt-get install libbluetooth-dev g++ libcwiid1 xbmc-eventclients-common
Téléchargez ensuite les sources de xbmc et compilez le daemon :
mkdir /usr/local/src/xbmc git clone git://github.com/xbmc/xbmc.git /usr/local/src/xbmc cd /usr/local/src/xbmc/tools/EventClients/Clients/WiiRemote make
Un binaire situé /usr/local/src/xbmc/tools/EventClients/Clients/WiiRemote/WiiUse_WiiRemote écoutera maintenant avec succès votre WiiMote.
Si vous êtes intéressé par la démonification du processus, voici le script à placer dans init.d (pour utilisateur averti, une configuration préalable de ce fichier est à réaliser) :
#! /bin/sh
### BEGIN INIT INFO
# Provides: wiimote
# Required-Start: $local_fs $syslog $remote_fs bluetooth udev
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Wminput for wiimote initscript
# Description: Wiimote for wiimote initscript : should be placed in /etc/init.d.
### END INIT INFO
# Author: LvR
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DIR=/usr/local/src/xbmc/tools/EventClients/Clients/WiiRemote
DESC="xbmc-wiiremote initscript"
NAME=xbmc-wiiremote
USER=xbmc
DAEMON=WiiUse_WiiRemote
PIDFILE=/home/$USER/.$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed
# [ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
# Be sure that uinput module is loaded
modprobe uinput
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start \
--quiet --background \
--make-pidfile --pidfile $PIDFILE \
--chuid $USER \
--chdir $DIR \
--exec $DIR/$DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start \
--quiet --background \
--make-pidfile --pidfile $PIDFILE \
--chuid $USER \
--chdir $DIR \
--exec $DIR/$DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/2/KILL/1 --pidfile $PIDFILE
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/2/KILL/1 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
Il existe plusieurs applications pour piloter xmbc depuis Android.
Official xbmc Remote est l'application officielle de la Team XBMC (gratuite et sous licence GPLv2) disponible sur l'Android Market :
Remarque: pour que votre téléphone Android fonctionne pleinement en tant que télécommande d'XBMC, n'oubliez pas d'autoriser les ports TCP (9777) et UDP (8080 par défaut ou la valeur que vous aurez choisie et entrée dans la configuration xbmc) au niveau de votre firewall. Pour plus d'info sur la configuration du firewall par défaut d'unbuntu: ufw
semble ne plus fonctionner) :YATSE est une application développée par un membre de la communauté Française Passion-XBMC.org
Il vous faut avoir un Wi-Fi et acheter XBMC remote sur l'App store (gratuite).
Note : il existe d'autres logiciels pour iPhone, dont certains gratuits.
Ouvrez xbmc et allez dans system > network, et là cochez les cases suivantes :
allow control XBMC via HTTP
allow programs on this system to controle XBMC
allow programs on others systems to controle XBMC
Remarquez que vous pouvez choisir le port et protéger par un mot de passe.
Une fois ceci fait il vous faut l'adresse IP du PC où se trouve XBMC. Pour cela, tapez dans une console :
ifconfig
ce qui va vous donner ceci ou quelque chose qui y ressemble :
eth0 Link encap:Ethernet HWaddr 00:1c:c0:94:48:66
inet adr:192.168.1.38 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::21c:c0ff:fe94:4866/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:77951 erreurs:2603 :0 overruns:0 frame:1661
TX packets:64311 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
Octets reçus:94606676 (94.6 MB) Octets transmis:6461362 (6.4 MB)
Mémoire:d3300000-d3320000
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
Packets reçus:116 erreurs:0 :0 overruns:0 frame:0
TX packets:116 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reçus:28962 (28.9 KB) Octets transmis:28962 (28.9 KB)
(eth c'est en général la connexion de la carte réseau et wlan le Wi-Fi) Là localisez l'IP (dans mon cas c'est 192.168.1.38 )
voilà c'est tout pour le PC maintenant passons à l'iPhone
Il faut activer le Wi-Fi sur votre iPhone et ouvrir le programme XBMC. Une fois le programme ouvert, allez dans settings → discover hosts → manually add host.
Puis vous devez fournir plusieurs informations. Laissez tout par défaut (comme mentionné plus haut, on peut rajouter un mot de passe de protection par exemple). Dans le champ IP mettez l'IP du PC sur lequel XBMC est installé (dans mon cas 192.168.1.38). Une fois ceci fait, normalement si XBMC est ouvert sur votre PC, la connexion devrait être reconnue et fonctionnelle. Voilà maintenant vous pouvez piloter XBMC via votre iPhone. (Sinon, vérifiez bien que vous avez entré les bonnes informations : la bonne adresse IP, etc) En outre, il est recommandé de protéger avec un mot de passe.
Contributeurs : Les contributeurs d'Ubuntu-fr.